#### EXERCCIOS 3 - ANA CAROLINA PAVAN #####

### Distancias entre cidades ####
matriz.cidades <- matrix(,4,4,byrow=TRUE)
matriz.cidades
cidades.europa <- c("Atenas","Madri","Paris","Estocolmo")
colnames(matriz.cidades) <- cidades.europa
rownames(matriz.cidades) <- cidades.europa
matriz.cidades
upper.tri(matriz.cidades,diag=TRUE)
matriz.cidades[lower.tri(matriz.cidades)]<- c(3949, 3000, 3927, 1273, 3188, 1827)
matriz.cidades

#### Criao de um data frame ###
fentipo <- factor(rep(c("claro","escuro"),each=9))
dieta <- factor(rep(c("A","B","C"),each=3,2))
variao.peso <- c(0.1,1.1,3.7,5.7,-1.2,-1.5,3.0,-0.4,0.6,1.5,-0.1,2.0,0.6,-3.0,-0.3,-0.2,0.3,1.5)
experimento.hamsters <- data.frame(fentipo,dieta,variao.peso)
experimento.hamsters
tapply(variao.peso,list(fentipo,dieta),mean)

### Criando uma Matriz ###
conteudo<- rnorm(15,10,3.6)
conteudo
matriz <- matrix(conteudo,3,5)
matriz
colnames(matriz) <- paste("C", 1:5) 
rownames(matriz) <- paste("L",1:3)
matriz
media.col<- apply(matriz,MARGIN=2,FUN=mean)
var.col<- apply(matriz,MARGIN=2,FUN=var)
media.linhas<- apply(matriz,MARGIN=1,FUN=mean)
var.linhas<- apply(matriz,MARGIN=1,FUN=var)
media.col
var.col
media.linhas
var.linhas
dataframe1 <- data.frame(media.col,var.col)
dataframe2 <- data.frame(media.linhas,var.linhas)
dataframe1
dataframe2
dataframe <- list(colunas=dataframe1,linhas=dataframe2)
dataframe

#### Lendo e Salvando seus dados ####
vespas <- read.table("vespas.csv", header = TRUE, sep = ";")
vespas
summary(vespas$Vespas)
summary(vespas$Sementes)
summary(vespas$Flores)
arvoreA <- vespas[vespas$Arvore=="A",]
arvoreA
vespas #objeto original intacto!
arvoreA[,1:3]
# Tambm pode ser: arvoreA[,c("Arvore","Figo","Vespas")]
write.table(arvoreA,"arvoreA.txt",sep="\t",row.names=FALSE)
# O arquivo est salvo!

###### CLASSES DE OBJETOS #####
library(datasets)
iris
class(iris)
iris3
class(iris3)
aggregate(iris[1:4],by=iris[5],FUN=mean)
apply(iris3,MARGIN=c(2,3),FUN=mean)
nomes<-c("comp.sepala","larg.sepala","comp.petala","larg.petala","espcie")
colnames(iris) <- nomes
iris

### ACRESCENTANDO DADOS DE SINTESE ####
tabela_eucalipto <- read.table("biomassa_eucalyptus.txt",header=TRUE,sep=",")
tabela_eucalipto
summary(tabela_eucalipto)
str(tabela_eucalipto)
tabela_eucalipto$tronco_folha = tabela_eucalipto$tronco + tabela_eucalipto$folha
tabela_eucalipto
###obs: se o arquivo lido for .csv, ao criar a nova coluna, ela  exibida separadamente do restante da tabela!
tabela_eucalipto$area_basal = ((tabela_eucalipto$dap/2)^2)* base::pi
### se uso o objeto pi ele d a seguinte mensagem:
#Mensagens de aviso perdidas:
#In pi * ((tabela_eucalipto$dap/2)^2) :
#  comprimento do objeto maior no  mltiplo do comprimento do objeto menor
#portanto, usei base::pi
tabela_eucalipto
### a coluna criada com a rea basal  exibida separadamente do restante da tabela! por que?!
area.basal_talho <- aggregate(tabela_eucalipto["area_basal"],by=tabela_eucalipto["talhao"],FUN=sum)
area.basal_talho
aggregate(tabela_eucalipto["area_basal"],by=tabela_eucalipto["talhao"],FUN=mean)
DAP10 <- tabela_eucalipto[tabela_eucalipto$dap>10.00,]
DAP10
write.table(DAP10,file="dapmaior10.txt",sep="\t")

#### FIM!!! #####